A resurgence in the part forging industry has brought about new processing techniques which produce cost-effective, near net shape forgings at high production rates. In particular, the automotive part forging industry now produces high-strength, lower weight forgings which thereby reduce the weight of the resulting vehicle. A wide variety of such automotive parts are now produced at relatively high production rates and, after they are cooled, they are inspected on a sampling basis.
Inspection techniques commonly used to inspect such parts are a combination of optical comparators, mechanical gauges and experienced inspectors who must remember the differences between acceptable and unacceptable parts. Some of the shortcomings of the present method and apparatus are as follows: (1) non-uniform and subjective inspections; (2) inability to inspect parts at production rates; (3) uncertainty in the quality of the parts being shipped; (4) lack of documentation to correct or improve the part production process; (5) not easily adaptable to the introduction of new production parts; and (6) does not allow full implementation of other "factory of future" technologies.
The potential value within the manufacturing industry for machine vision systems with the flexibility and acuity of human sight is widely recognized. Unfortunately, the development of a general purpose vision technology has not been as successful as hoped. No single technology has proven to be capable of handling a significant spectrum of applications. Most available systems function only within selected market niches and perform disappointingly elsewhere.
The objective for any vision system is to process the pixels in the image array in such a manner as to separate the object of interest from the background and the noise. Difficulty arises when a classic serial computer is applied to doing operations on such a large block of data. Most popular 16 or 32 bit micro-computers require 10 to 15 seconds to perform a simple noise reducing filter operation. This amount of processing time is totally unacceptable for most industrial tasks. As a result, a major objective of those who have sought to deal with industrial vision problems has been to reduce or simplify the image data.
Full gray scale processing systems hold the promise of an acceptable approach to solving industrial vision problems. In recent years hardware began to emerge that made it possible to cost-effectively process gray scale data in times that are acceptable for industrial problem solving.
An example of this type of architecture makes extensive use of pipelined hardware. In this approach the successive steps for processing each element of data are implemented in a separate piece of hardware. If the process requires eight successive operations to complete, then the pipe is constructed of eight successive stages of processing. The first data element entering the processor completes the first stage of processing and enters the second stage as the second element is clocked into the first stage. This process continues until each stage of the pipeline is working on a different element of the data stream. The first element of data processed emerges from the end of the pipe in the normal processing time. The second element of data emerges 1/8 of the time later and so on until the data stream is exhausted.
Inspection of parts at production rates by machine vision has been implemented in some isolated cases where either a general purpose system could be adapted to a particular application or a special system has been devised to take advantage of some peculiarity of the parts or the inspection requirements. In each case the systems are limited such that applications needing real time processing of massive amounts of visual data would be prohibitively large and expensive. Often the prior systems could not be upgraded to high capacity without loss of speed. In other cases the systems are inflexible; that is, the systems do not readily accommodate a large variety of different part geometries or do not easily accept new part configurations.